package com.design.decorator;

public class DecoratorPatternDemo {

	public static void main(String[] args) {

		Shape circle = new Circle();
//		ShapeDecorator redCircle = new RedShapeDecorator(new Circle());
//		ShapeDecorator redRectangle = new RedShapeDecorator(new Rectangle());
		Shape redCircle = new RedShapeDecorator(new Circle());
		Shape redRectangle = new RedShapeDecorator(new Rectangle());
		BoldShapeDecorator boldShapeDecorator = new BoldShapeDecorator(redRectangle);

		// test ----
		System.out.println("Circle with normal border");
		circle.draw();

		System.out.println("\nCircle of red border");
		redCircle.draw();

		System.out.println("\nRectangle of red border");
		redRectangle.draw();

		System.out.println("\nRectangle of red bold border");
		boldShapeDecorator.draw();


		System.out.println("-----------");
		Shape shape = new RedShapeDecorator(new BoldShapeDecorator(new Circle()));
		shape.draw();
	}
}
